package com.zenithmind.classroom.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 学习进度更新DTO
 * 
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@Schema(description = "学习进度更新DTO")
public class LearningProgressUpdateDTO {

    /**
     * 学习状态（0-未开始，1-学习中，2-已完成，3-已暂停）
     */
    @Schema(description = "学习状态（0-未开始，1-学习中，2-已完成，3-已暂停）", example = "1")
    private Integer status;

    /**
     * 学习进度百分比（0-100）
     */
    @Schema(description = "学习进度百分比（0-100）", example = "50")
    private Integer progressPercent;

    /**
     * 学习时长（秒）
     */
    @Schema(description = "学习时长（秒）", example = "1800")
    private Integer studyDuration;

    /**
     * 最后学习位置（秒）
     */
    @Schema(description = "最后学习位置（秒）", example = "900")
    private Integer lastPosition;

    /**
     * 学习笔记
     */
    @Schema(description = "学习笔记")
    private String notes;

    /**
     * 学习评分（1-5分）
     */
    @Schema(description = "学习评分（1-5分）", example = "5")
    private Integer rating;

    /**
     * 学习评价
     */
    @Schema(description = "学习评价")
    private String review;

    /**
     * 是否收藏（0-否，1-是）
     */
    @Schema(description = "是否收藏（0-否，1-是）", example = "1")
    private Integer isFavorite;

    /**
     * 学习设备类型（1-PC，2-移动端，3-平板）
     */
    @Schema(description = "学习设备类型（1-PC，2-移动端，3-平板）", example = "1")
    private Integer deviceType;

    /**
     * 学习来源（1-网页，2-APP，3-小程序）
     */
    @Schema(description = "学习来源（1-网页，2-APP，3-小程序）", example = "1")
    private Integer source;
}
